var arr = ['aaa','bbb','ccc']
//item是数组中的每一项，index是每一项的索引，array是数组本身
// arr.forEach(function(item,index,array){
//     console.log(item,index,array)
// })

// 2. map()方法
// map()方法返回一个新数组，数组中的元素为原始数组元素调用函数处理后的值
// map()方法按照原始数组元素顺序依次处理元素
// 注意：map()不会对空数组进行检测
// 注意：map()不会改变原始数组
// var arr = [1,2,3,4,5]
// var arr2 = arr.map(function(item,index,array){
//     return "<li>item</li>"
// })
// document.write("<ul>"+arr2.join("")+"</ul>") //join()方法将数组中的所有元素放入一个字符串
// console.log(arr2)

// 3. filter()方法
// filter()方法返回一个新数组，数组中的元素为通过检查指定数组中符合条件的所有元素
// filter()不会对空数组进行检测
// filter()不会改变原始数组
// var arr = [1,2,3,4,5]
// var arr2 = arr.filter(function(item,index,array){
//     return item > 3 //返回大于3的元素
// })
// console.log(arr2)
//3.1 复杂用法
var arr = [
    {
        name:'apple',
        prece:10
    },
    {
        name:'orange',
        prece:20
    },
    {
        name:'pear',
        prece:30
    }
]
var arr2 = arr.filter(function(item){
    return item.prece > 15 //返回价格15的元素
})
console.log(arr2)

//4. every()方法和some()方法
//every()方法用于检测数组所有元素是否都符合指定条件
//every()不会对空数组进行检测
//every()不会改变原始数组
//some()方法用于检测数组中的元素是否满足指定条件
//some()不会对空数组进行检测
//some()不会改变原始数组

//5. find()方法和findIndex()方法
//find()方法返回通过测试函数的第一个元素的值
//find()方法返回通过测试函数的第一个元素的索引
//find()不会对空数组进行检测
//find()不会改变原始数组